package ar.pmt.vista.manager;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

import org.json.JSONArray;

import ar.pmt.modelo.beans.Proyecto;
import ar.pmt.modelo.beans.Recurso;
import ar.pmt.modelo.businessObject.SrvcControlAvance;
import ar.pmt.vista.beans.PaginacionResultadoBean;
import ar.pmt.vista.beans.ProyectoBean;
import ar.pmt.vista.beans.RecursoBean;
import ar.pmt.vista.manager.impl.BeanVistaManager;

public class CommonManager extends PmtManager {


	public PaginacionResultadoBean buscarRecursos(String campos ,int start, int limit) throws Exception{
		if(!campos.equals("")){
			JSONArray jsonA = new JSONArray(campos);
			for (int i = 0; i < jsonA.length(); i++) {
				System.out.println(jsonA.get(i));
				
			}
		}				
		SrvcControlAvance srvcControlAvance = (SrvcControlAvance)getBean("srvcControlAvance");
		Collection<RecursoBean> recursosOut = new ArrayList<RecursoBean>();
		Collection<Recurso> recursos = new ArrayList<Recurso>();
	
		try {
			recursos = srvcControlAvance.obtenerRecursos("2");
			Collection<Recurso> recursosAux= new ArrayList<Recurso>();
			int i=0;
			for (Iterator<Recurso> iterator = recursos.iterator(); iterator.hasNext();){
				Recurso recurso = iterator.next();
				if( (i>=start) && (i < start + limit)){
					recursosAux.add(recurso);
				}
				i++;
			}
			BeanVistaManager.copiarCollectionBeanModeloToBeanVista(recursosAux, recursosOut, RecursoBean.class);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();	
			throw getPmtException(123, e.getMessage());
		}
		PaginacionResultadoBean paginacionResultadoBean = new PaginacionResultadoBean();
		paginacionResultadoBean.setItems(recursosOut);
		paginacionResultadoBean.setTotalItem(recursos.size());
		paginacionResultadoBean.setVersion(new Long(1));
		return paginacionResultadoBean;
	}
	
	
	public Collection<ProyectoBean> comboProyectos() throws Exception{
		SrvcControlAvance srvcControlAvance = (SrvcControlAvance)getBean("srvcControlAvance");
		Collection<ProyectoBean> proyectosOut = new ArrayList<ProyectoBean>();
		
		Collection<Proyecto> proyectos = srvcControlAvance.obtenerProyectos();
		BeanVistaManager.copiarCollectionBeanModeloToBeanVista(proyectos, proyectosOut, ProyectoBean.class);
		
		return proyectosOut;
		
}





}
